﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace EstoqueUnifeiADO
{
    public class EntradaProdutoArgs : EventArgs 
    {
        public bool Cancelar = false;
        public string MensagemDeErro;
        public string Observacao;
        public List<ProdQuant> Produtos;
    }
    public class EntradaNotaArgs : EntradaProdutoArgs 
    {
        public EntradaNota Nota { get; set; }
        public EntradaNotaArgs()
        {
            Nota = new EntradaNota();
        }
        

    }
    public class RetiradaProdutoArgs : EventArgs 
    {
        public bool Cancelar = false;
        public string MensagemDeErro;
        public string Observacao;
        public List<ProdQuant> Produtos;
    }
    public class TransferenciaProdutosArgs : EventArgs 
    {
        public bool Cancelar = false;
        public string MensagemDeErro;
        public string Observacao;
        public List<ProdQuant> Produtos;
        public int CodEstoqueDestino;
    }
    public delegate void EntrarProdutosHandler(object sender, EntradaProdutoArgs e);
    public delegate void RetirarProdutosHandler(object sender, RetiradaProdutoArgs e);
    public delegate void TranferirProdutosHandler(object sender, TransferenciaProdutosArgs e);
    public delegate void EntradaNotasHandler(object sender, EntradaNotaArgs e);

    public enum TipoMovimentacao
    { 
        EntraMercadoria=1,
        EntradaFapep=2,
        EntradaProduto=3,
        RetiradaProduto=4,
        TransferenciaProduto=5
        
    }
    public class MovimentacaoUtils
    {
    }
    [Serializable]
    public class ProdQuant
    {
        public int CodIndex { get; set; }
        public int CodProduto { get; set; }
        public string NomeProduto { get; set; }
        public decimal Quantidade { get; set; }
        public decimal Valor { get; set; }
        public decimal Total { get { return Quantidade * Valor; } }
    }
    [Serializable]
    public class EntradaNota 
    {
        public int CodFornecedor { get; set; }
        public string NumeroNota { get; set; }
        public string NumeroEmpenho { get; set; }
        public string NumeroProcesso { get; set; }
        public string AutorizacaoCompra { get; set; }
        public DateTime DataEntrada { get; set; }

    }

}